Complex systems can be dynamic and can include many components that have dependencies and that can change over time. Complex systems can also receive inputs that are external to the systems and random and that result in different system outcomes. In complex-adaptive systems, the behavior of some components can change over time based on learning from previous actions. Some examples of complex-adaptive systems can include biological organisms, chemical reactions and financial systems.
Models can be built to simulate outcomes from complex-adaptive systems. When simulations are run on the complex-adaptive systems, different outcomes can result because of the random data associated with the components and the way that some components evolve over time. Some simulation models can allow for user actions during certain points in a simulation. The inclusion of user actions in a simulation model can sometimes make accurate modeling of complex-adaptive systems difficult to achieve.